package service;


public class ValidateProductBatch {

	String error = "";

	public String validate(String pbId, String recipeId, String status){
		error = "";
		validateCdID(pbId);
		validateCommodityId(recipeId);
		validateVolume(status);
		return error;
	}

	//################### PRODUCTBATCH ID VALIDERING ####################
	private void validateCdID(String pbId){

		try{
			if(pbId.isEmpty()){
				error = error + "<li>Indtast produktbatch ID</li>";
			}else if(Integer.parseInt(pbId) < 1 || Integer.parseInt(pbId) > 99999999){
				error = error + "<li>Produktbatch ID skal være mellem 1-99999999</li>";
			}
		}catch(NumberFormatException e){
			error = error + "<li>Råvarebatch ID skal være mellem 1-99999999</li>";
		}

	}

	//################### RECEPT ID VALIDERING ####################
	private void validateCommodityId(String recipeId){

		try{
			if(recipeId.isEmpty()){
				error = error + "<li>Indtast recept ID</li>";
			}else if(Integer.parseInt(recipeId) < 1 || Integer.parseInt(recipeId) > 99999999){	
				error = error + "<li>Recept ID skal være mellem 1-99999999</li>";
			}
		}catch(NumberFormatException e){
			error = error + "<li>Recept ID skal være mellem 1-99999999</li>";
		}
	}

	//################### VOLUME VALIDERING ####################
	private void validateVolume(String status){

		try{
			if(status.isEmpty()){
				error = error + "<li>Indtast status</li>";
			}else if(Integer.parseInt(status) < -1 || Integer.parseInt(status) > 2){
				error = error + "<li>Ulovlig status kode: Ikke påbegyndt = 0/ Under Produktion = 1/ Afsluttet = 2</li>";
			}
		}catch(NumberFormatException e){
			error = error + "<li>Ulovlig status kode: Ikke påbegyndt = 0/ Under Produktion = 1/ Afsluttet = 2</li>";
		}

	}

	public ErrorService createError(){
		ErrorService errorMessage = new ErrorService();
		return errorMessage;
	}

	public String getError(){
		return error;
	}
}
